-- XMake构建配置文件
-- 使用Zig CC作为C++编译器

-- 设置项目名称和版本
set_project("cpp_zig_project")
set_version("1.0.0")

-- 配置使用Zig CC作为编译器,并指定目标平台
set_toolchains("zig", { cross = "x86_64-windows-gnu" })

-- 设置C++标准
set_languages("c++17")

-- 定义目标
add_rules("mode.debug", "mode.release")

-- 添加可执行文件目标
target("cpp_zig_app", function()
    set_kind("binary")
    add_files("src/main.cpp")

    -- 配置Zig编译器选项
    if is_plat("windows") then
        -- Windows平台特定配置
        -- set_toolset("cc", "zig cc")
        -- set_toolset("cxx", "zig c++")
        -- set_toolset("ld", "zig c++ --target=x86_64-windows-gnu")
    else
        -- Linux/Mac等其他平台配置
        -- set_toolset("cxx", "zig c++ --target=x86_64-linux")
        -- set_toolset("ld", "zig c++ --target=x86_64-linux")
    end

    -- 调试模式配置
    if is_mode("debug") then
        add_defines("DEBUG")
        set_symbols("debug")
        set_optimize("none")
    end

    -- 发布模式配置
    if is_mode("release") then
        add_defines("NDEBUG")
        set_symbols("hidden")
        set_optimize("fast")
    end
end)

if false then
    -- 添加清理目标
    target("clean", function()
        set_kind("phony")
        on_run(function()
            os.rm("build")
            os.rm("$(buildir)")
        end)
    end)
end

-- 打印构建信息
if is_host("windows") then
    -- print("[my] Using Zig CC compiler to build C++ project (Windows platform)")
else
    -- print("[my] Using Zig CC compiler to build C++ project (non-Windows platform)")
end
